home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / windows1 / ew100.zip / FILES1.LZH / EWAPI.H < prev    next >
Text File  |  1992-11-29  |  17KB  |  427 lines

  1. /*****************************************************************************\
  2. *                                                                             *
  3. * ewapi.h -     E! API functions, types, and definitions                      *
  4. *                                                                             *
  5. *               Version 1.00                                                  *
  6. *                                                                             *
  7. *               Copyright (c) 1992, Patrick Philippot, GIS                    *
  8. *                                                                             *
  9. ******************************************************************************/
  10.  
  11. #ifndef _INC_EWAPI
  12. #define _INC_EWAPI      /* #defined if ewapi.h has been included */
  13.  
  14. /* Command codes used to identify EW functions within hooks */
  15.  
  16. #define ew_MFOpen            201
  17. #define ew_MFNew             202
  18. #define ew_MFClone           203
  19. #define ew_MFGet             204
  20. #define ew_MFWrite           205
  21. #define ew_MFAppend          206
  22. #define ew_MFSave            207
  23. #define ew_MFSaveAs          208
  24. #define ew_MFRefresh         209
  25. #define ew_MFGrep            210
  26. #define ew_MFAssociate       211
  27. #define ew_MFCC              215
  28. #define ew_MFPrint           217
  29. #define ew_MFPrintSetup      218
  30. #define ew_MFPageSetup       219
  31. #define ew_MFExit            221
  32. #define ew_MFExitEditor      222
  33.  
  34. #define ew_MEUndo            301
  35. #define ew_MEClearUndo       302
  36. #define ew_MECut             304
  37. #define ew_MECutAppend       305
  38. #define ew_MECopy            306
  39. #define ew_MECopyAppend      307
  40. #define ew_MEPasteIns        308
  41. #define ew_MEPasteOvr        309
  42. #define ew_MEClear           311
  43. #define ew_MESelectAll       312
  44. #define ew_MEDelete          314
  45. #define ew_MEDraw            316
  46. #define ew_MERecordMac       318
  47. #define ew_MELoadMac         319
  48. #define ew_MESaveMac         320
  49. #define ew_MEReplayMac       321
  50. #define ew_MEAsciiMode       323
  51.  
  52. #define ew_MBSet             401
  53. #define ew_MBGotoMark1       403
  54. #define ew_MBGotoMark2       404
  55. #define ew_MBGotoMark3       405
  56. #define ew_MBRemoveMark1     407
  57. #define ew_MBRemoveMark2     408
  58. #define ew_MBRemoveMark3     409
  59. #define ew_MBGoto            411
  60. #define ew_MBGotoSel         412
  61. #define ew_MBCompare         414
  62.  
  63. #define ew_MSFind            501
  64. #define ew_MSRepeatFind      502
  65. #define ew_MSFindWord        503
  66.  
  67. #define ew_MCCompile         601
  68. #define ew_MCMake            602
  69. #define ew_MCRebuild         603
  70. #define ew_MCDebug           604
  71. #define ew_MCExecute         605
  72. #define ew_MCNext            607
  73. #define ew_MCPrevious        608
  74. #define ew_MCCommands        610
  75.  
  76. #define ew_MLSet             701
  77. #define ew_MLSaveCnf         702
  78. #define ew_MLLoadCnf         703
  79. #define ew_MLAssign          705
  80. #define ew_MLExpansion       707
  81.  
  82. #define ew_MWRibbon          801
  83. #define ew_MWHide            803
  84. #define ew_MWTile            805
  85. #define ew_MWCascade         806
  86. #define ew_MWHideAll         807
  87. #define ew_MWIconizeAll      808
  88. #define ew_MWScrolling       810
  89. #define ew_MWFont            812
  90.  
  91. #define ew_MULoadExt         901
  92. #define ew_MUUnloadExt       902
  93. #define ew_MUExecuteExt      903
  94. #define ew_MUAutoLoad        904
  95. #define ew_DefineMenu        906
  96.  
  97. #define ew_AddTab               9001
  98. #define ew_BlockShift           9010
  99. #define ew_BeginLine            9011
  100. #define ew_CasePrimUpper        9012
  101. #define ew_CasePrimLower        9013
  102. #define ew_CheckBrace           9014
  103. #define ew_ClearLine            9015
  104. #define ew_DeleteCurLine        9016
  105. #define ew_DeleteEOL            9017
  106. #define ew_DeleteLeftChar       9018
  107. #define ew_DeleteWord           9019
  108. #define ew_EndLine              9020
  109. #define ew_Enter                9021
  110. #define ew_GoNextPar            9022
  111. #define ew_GoNextTab            9023
  112. #define ew_GoPrevPar            9024
  113. #define ew_GoPrevTab            9025
  114. #define ew_InputPause           9026
  115. #define ew_InsertBrace          9027
  116. #define ew_InsertDate           9028
  117. #define ew_InsertFilename       9029
  118. #define ew_InsertTime           9030
  119. #define ew_JoinLine             9031
  120. #define ew_LoadUserFile         9032
  121. #define ew_NextCol              9041
  122. #define ew_NextLine             9042
  123. #define ew_NextWord             9043
  124. #define ew_PageBottom           9044
  125. #define ew_PageTop              9045
  126. #define ew_PageScrollHLeft      9046
  127. #define ew_PageScrollHRight     9047
  128. #define ew_PageScrollVDown      9048
  129. #define ew_PageScrollVUp        9049
  130. #define ew_PrevCol              9050
  131. #define ew_PrevLine             9051
  132. #define ew_PrevWord             9052
  133. #define ew_Reflow               9054
  134. #define ew_RemoveTab            9055
  135. #define ew_SetCurLine2Bottom    9056
  136. #define ew_SetCurLine2Middle    9057
  137. #define ew_SetCurLine2Top       9058
  138. #define ew_ShiftTextRight       9059
  139. #define ew_SplitLine            9072
  140. #define ew_StepScrollDown       9073
  141. #define ew_StepScrollLeft       9074
  142. #define ew_StepScrollRight      9075
  143. #define ew_StepScrollUp         9076
  144. #define ew_StripFlow            9077
  145. #define ew_SumBlock             9078
  146. #define ew_TextBoundBegin       9079
  147. #define ew_TextBoundEnd         9080
  148. #define ew_TextToCursor         9081
  149. #define ew_ToggleIns            9082
  150. #define ew_UpcaseFirst          9083
  151. #define ew_UserBlockSort        9084
  152. #define ew_UserFillBlock        9085
  153.  
  154. /* Value that should be returned by EWExecute or by a hook if the extension
  155.    failed. Otherwise return 0 or leave the original EW return code unchanged. */
  156.  
  157. #define ewerr_EXTFAILED 300
  158.  
  159. /* Values returned by EWCallUserExt if the extension could not be executed */
  160.  
  161. #define ewerr_NOSUCHEXTENSION  301
  162. #define ewerr_NOEXECEXPORTED   302
  163.  
  164. /* Values that may be returned after execution of an editing function */
  165.  
  166. #define ewerr_CANTMOVE     351  /* The cursor could not be moved as requested */
  167. #define ewerr_CANTPROCEED  352  /* The function could not be executed  */
  168.  
  169.  /* Values passed by EWSetHook and EWRemoveHook to EW */
  170.  
  171. #define EWHook_FunctionEntry   0
  172. #define EWHook_FunctionExit    1
  173. #define EWHook_KeyboardEntry   2
  174. #define EWHook_PaintEntry      3
  175. #define EWHook_LoadExit        4
  176. #define EWHook_Notify          5
  177.  
  178. /* Values passed by EW to the callback notification hook to identify the event */
  179.  
  180. #define EWNotify_ExitEditor    0
  181. #define EWNotify_CreateClone   1
  182. #define EWNotify_DestroyClone  2
  183. #define EWNotify_FileAutosaved 3
  184. #define EWNotify_FontChanged   4
  185. #define EWNotify_PosChanged    5
  186. #define EWNotify_ActWinChanged 6
  187. #define EWNotify_CharEntry     7
  188. #define EWNotify_CharExit      8
  189.  
  190. /* Possible assignment modes when using EWAddMenuEntry */
  191.  
  192. #define EWMNU_Program   0
  193. #define EWMNU_Command   1
  194. #define EWMNU_Macro     2
  195. #define EWMNU_Extension 3
  196.  
  197. /* Global Flags constants */
  198.  
  199. #define  EWGlbShow              1     /* Show edit window when created */
  200. #define  EWGlbShowWild          2     /* Show windows created with wildcards */
  201. #define  EWGlbMinCC             3     /* Iconize CC after creating window */
  202. #define  EWGlbReShowCC          4     /* Reshow CC after edit window creation */
  203. #define  EWGlbDispShortCuts     5     /* Display shortcuts in menus */
  204. #define  EWGlbReplaceSel        6     /* Typing replace Selection */
  205. #define  EWGlbAddOnLast         7     /* Insert with  on last line */
  206. #define  EWGlbFormatFrom        8     /* Format from current line only */
  207. #define  EWGlbExpansion         9     /* Syntax Expansion enabled */
  208. #define  EWGlbAutoMacros       10     /* Auto Macros enabled */
  209. #define  EWGlbEnterClassic     11     /* Split line with Enter */
  210. #define  EWGlbInsert           12     /* Insert on by default */
  211. #define  EWGlbAutoScroll       13     /* Use autoscroll mode */
  212. #define  EWGlbAlarm            14     /* Beep on error */
  213. #define  EWGlbLog              15     /* Maintain session logging */
  214. #define  EWGlbBak              16     /* Create .BAK flags */
  215. #define  EWGlbWarning          17     /* Warning before file overwrite */
  216. #define  EWGlbLoadList         18     /* @xxxx.xxx files are lists */
  217. #define  EWGlbAutosaveOpt      19     /* Autosave options */
  218. #define  EWGlbAutosave         20     /* Autosave files */
  219. #define  EWGlbDeleteOut        21     /* Suppress .ERR file */
  220. #define  EWGlbGrepRegular      22     /* Grep uses Boolean Search */
  221. #define  EWGlbGrepAnsi         23     /* Grep uses Ansi charset */
  222. #define  EWGlbGrepCase         24     /* Grep makes a case sensitive search */
  223. #define  EWGlbGrepSubDir       25     /* Grep searches in subdirectories */
  224.  
  225. /* Local Flags constants */
  226.  
  227. #define  EWLclbBlank       1          /* Strip trailing blanks */
  228. #define  EWLclbAutoBack    2          /* Backspace behaviour */
  229. #define  EWLclbAutoTab     4          /* Autotab flag */
  230. #define  EWLclbAutoInsert  5          /* AutoInsert braces */
  231. #define  EWLclbAutoComp    6          /* AutoCompress tabs */
  232. #define  EWLclbWordWrap    7          /* Wordwrap */
  233. #define  EWLclbJustify     8          /* Right justification */
  234. #define  EWLclbLoadAscii   9          /* Loaded file supposed to be Ascii file */
  235. #define  EWLclbSaveAscii  10          /* Save file in Ascii format */
  236. #define  EWLclbEOF        11          /* Add a Ctrl Z at the end of the file */
  237.  
  238. /* Search Flags constants */
  239.  
  240. #define  EWSearchbBackward  1         /* Backward search */
  241. #define  EWSearchbBlock     2         /* Search within marked block only */
  242. #define  EWSearchbCase      3         /* Case sensitive search */
  243. #define  EWSearchbKeepCase  4         /* Keep case type when replacing string */
  244. #define  EWSearchbGlobal    5         /* Global Search */
  245. #define  EWSearchbGothru    6         /* Replace without prompting */
  246. #define  EWSearchbRegular   7         /* Boolean search flag */
  247. #define  EWSearchbWord      8         /* Word-only search */
  248. #define  EWSearchbAcross    9         /* Search across edited files */
  249.  
  250. /* Compile command codes */
  251.  
  252. #define  EWCompileCommand   0
  253. #define  EWMakeCommand      1
  254. #define  EWBuildCommand     2
  255. #define  EWDebugCommand     3
  256. #define  EWExecuteCommand   4
  257.  
  258. /* Macro string codes */
  259.  
  260. #define  EWMacro_Time       0
  261. #define  EWMacro_Date       1
  262. #define  EWMacro_FileName   2
  263.  
  264. /* Position codes */
  265.  
  266. #define  EWPosition_Top     0
  267. #define  EWPosition_Middle  1
  268. #define  EWPosition_Bottom  2
  269.  
  270. /* Selection modes */
  271.  
  272. #define  EWSelection_None   0
  273. #define  EWSelection_Line   1
  274. #define  EWSelection_Stream 2
  275. #define  EWSelection_Block  3
  276.  
  277. /* Write modes for EWWriteBlock */
  278.  
  279. #define EWWrite_ReWrite     1
  280. #define EWWrite_Append      2
  281.  
  282. typedef struct tagTSelStruct
  283. {
  284.  
  285.   unsigned int SelType;
  286.   int FirstSelLine;
  287.   int LastSelLine;
  288.   int FirstSelCol;
  289.   int LastSelCol;
  290.   int StartSelIndex;
  291.   int EndSelIndex;
  292.  
  293. } TSelStruct;
  294.  
  295. typedef TSelStruct FAR* PSelStruct;
  296.  
  297. typedef void (FAR PASCAL* TEnumEditorsProc)(long EditorId, char FAR* Name);
  298. typedef void (FAR PASCAL* TEnumClonesProc)(HANDLE CloneHandle, BYTE CloneId);
  299. typedef int  (FAR PASCAL* TFuncEntryHook)(unsigned int command);
  300. typedef int  (FAR PASCAL* TFuncExitHook)(unsigned int command, int FAR* pRetcode);
  301. typedef int  (FAR PASCAL* TKbdEntryHook)(MSG MSg);
  302. typedef int  (FAR PASCAL* TPaintEntryHook)(HDC DC,
  303.                                            PAINTSTRUCT FAR* PaintInfo,
  304.                                            PSelStruct SelInfo,
  305.                                            HANDLE hWindow);
  306. typedef int  (FAR PASCAL* TLoadExitHook)(long EditorId);
  307. typedef int  (FAR PASCAL* TNotifyHook)(unsigned int code, unsigned int wParam, long lParam);
  308. typedef int  (FAR PASCAL* TExecFunc)(void);
  309.  
  310. /* Editing functions */
  311.  
  312. int FAR PASCAL EWAddTab(int col, unsigned int fAdd);
  313. int FAR PASCAL EWAlternateHelp(int col, int row);
  314. int FAR PASCAL EWBeginLine(unsigned int fSkipToPrev);
  315. int FAR PASCAL EWBlockShift(void);
  316. int FAR PASCAL EWBlockSort(unsigned int fAscend);
  317. int FAR PASCAL EWCase(unsigned int fUpper);
  318. int FAR PASCAL EWCheckBrace(int col, int row);
  319. int FAR PASCAL EWClearLine(int row);
  320. int FAR PASCAL EWExecCompileCommand(unsigned int commandindex);
  321. int FAR PASCAL EWDeleteChar(void);
  322. int FAR PASCAL EWDeleteCurLine(void);
  323. int FAR PASCAL EWDeleteEOL(void);
  324. int FAR PASCAL EWDeleteLeft(unsigned int fDeleteCurrent);
  325. int FAR PASCAL EWDeleteLines(int start, int num);
  326. int FAR PASCAL EWDeleteSelection(void);
  327. int FAR PASCAL EWDeleteWord(void);
  328. int FAR PASCAL EWEndLine(unsigned int fSkipToNext, unsigned int fStrip);
  329. int FAR PASCAL EWFillBlock(char ch);
  330. int FAR PASCAL EWGetFile(char FAR* Name, int row);
  331. int FAR PASCAL EWGotoBookmark(unsigned int index);
  332. int FAR PASCAL EWGotoNextParagraph(void);
  333. int FAR PASCAL EWGotoNextTab(void);
  334. int FAR PASCAL EWGotoPrevTab(void);
  335. int FAR PASCAL EWGotoPrevParagraph(void);
  336. int FAR PASCAL EWGotoCompileError(unsigned int fNext);
  337. int FAR PASCAL EWGotoLine(int row);
  338. int FAR PASCAL EWGotoXY(int col, int row);
  339. int FAR PASCAL EWGotoSelection(unsigned int fBegin);
  340. int FAR PASCAL EWInsertBrace(int col, int row);
  341. int FAR PASCAL EWInsertLines(int start, int num);
  342. int FAR PASCAL EWInsertMacroText(int col, int row, unsigned int macrotype);
  343. int FAR PASCAL EWJoinLine(int row);
  344. int FAR PASCAL EWLoadUserFile(int col, int row);
  345. int FAR PASCAL EWNextCol(void);
  346. int FAR PASCAL EWNextLine(void);
  347. int FAR PASCAL EWNextWord(unsigned int fNext);
  348. int FAR PASCAL EWTopOfPage(unsigned int fTop);
  349. int FAR PASCAL EWHorzPageScroll(unsigned int fLeft);
  350. int FAR PASCAL EWVerPageScroll(unsigned int fUp);
  351. int FAR PASCAL EWPrevCol(void);
  352. int FAR PASCAL EWPrevLine(void);
  353. int FAR PASCAL EWPaste(unsigned int fInsert);
  354. int FAR PASCAL EWReflow(int row);
  355. int FAR PASCAL EWRefresh(unsigned int bAsk);
  356. int FAR PASCAL EWRemoveBookmark(unsigned int index);
  357. int FAR PASCAL EWSaveFile(char FAR* Name);
  358. int FAR PASCAL EWSelectAll(void);
  359. int FAR PASCAL EWSetBookmark(int col, int row);
  360. int FAR PASCAL EWSetClipboard(unsigned int fAppend);
  361. int FAR PASCAL EWPositionCurLine(unsigned int position);
  362. int FAR PASCAL EWShiftTextRight(int col, int row, int count);
  363. int FAR PASCAL EWSplitLine(int col, int row);
  364. int FAR PASCAL EWStepScroll(int dX, int dY);
  365. int FAR PASCAL EWSumBlock(void);
  366. int FAR PASCAL EWStripFlow(void);
  367. int FAR PASCAL EWTopOfText(unsigned int fTop);
  368. int FAR PASCAL EWTextToCurSor(void);
  369. int FAR PASCAL EWToggleInsert(void);
  370. int FAR PASCAL EWUpcaseFirst(int col, int row);
  371. int FAR PASCAL EWWriteBlock(int startrow,
  372.                             int endrow,
  373.                             int startcol,
  374.                             int endcol,
  375.                             char FAR* Name,
  376.                             unsigned int mode,
  377.                             unsigned int fBlock,
  378.                             unsigned int fCompress);
  379.  
  380.  
  381. /* Service functions */
  382.  
  383. long FAR PASCAL EWAddMenuEntry(char FAR* Command,
  384.                                char FAR* Title,
  385.                                unsigned int CommandId,
  386.                                unsigned int AssignMode);
  387. int FAR PASCAL EWBeginSelection(unsigned int SelType, int col, int row);
  388. int FAR PASCAL EWCallUserExt(char FAR* Name);
  389. long FAR PASCAL EWEditFile(char FAR* Name);
  390. int FAR PASCAL EWEndSelection(void);
  391. void FAR PASCAL EWEnumClones(long EditorId, TEnumClonesProc CloneEnumProc);
  392. void FAR PASCAL EWEnumEditors(TEnumEditorsProc EdEnumProc);
  393. long FAR PASCAL EWFind(unsigned int FAR* MatchLen);
  394. unsigned int FAR PASCAL EWFindRegular(char FAR* src,
  395.                                       char FAR* dest,
  396.                                       unsigned int FAR* MatchLen);
  397. long FAR PASCAL EWGetCaretPos(void);
  398. unsigned int FAR PASCAL EWGetCloneNum(void);
  399. long FAR PASCAL EWGetCurWord(void);
  400. long FAR PASCAL EWGetCurrentEditor(void);
  401. char FAR* FAR PASCAL EWGetFileName(long EditorId);
  402. int FAR PASCAL  EWGetGlobalFlag(unsigned int FlagId);
  403. unsigned int FAR PASCAL EWGetInsertState(void);
  404. char FAR* FAR PASCAL EWGetLineAt(int index);
  405. int FAR PASCAL EWGetLineCount(void);
  406. int FAR PASCAL EWGetLocalFlag(unsigned int FlagId);
  407. int FAR PASCAL EWGetSearchFlag(unsigned int FlagId);
  408. void FAR PASCAL EWGetSelection(PSelStruct Selection);
  409. long FAR PASCAL EWGetTextPos(void);
  410. unsigned int FAR PASCAL EWGetVersion(void);
  411. unsigned int FAR PASCAL EWGetWindowHandle(void);
  412. void FAR PASCAL EWRemoveHook(unsigned int hFlag, void FAR* HookAddress);
  413. int FAR PASCAL EWRemoveMenuEntry(long Id);
  414. long FAR PASCAL EWRepeatFind(unsigned int FAR* MatchLen);
  415. long FAR PASCAL EWSetCurrentEditor(long EditorId);
  416. void FAR PASCAL EWSetFindPattern(char FAR* pattern);
  417. int FAR PASCAL EWSetGlobalFlag(unsigned int FlagId, unsigned int value);
  418. void FAR PASCAL EWSetHook(unsigned int hFlag, void FAR* HookAddress);
  419. int FAR PASCAL EWSetLineAt(char FAR* P, int index);
  420. int FAR PASCAL EWSetLocalFlag(unsigned int FlagId, unsigned int value);
  421. int FAR PASCAL EWSetSearchFlag(unsigned int FlagId, unsigned int value);
  422. int FAR PASCAL EWStopSelection(int col, int row);
  423. int FAR PASCAL EWUpdateSelection(int col, int row);
  424. void FAR PASCAL EWWriteMessage(char FAR* message);
  425.  
  426. #endif /* _INC_EWAPI */
  427.